05 - Sistema de pontos de experiência

Agora, nosso jogo precisa de um sistema de progressão!
A melhor forma é com nosso jogador aos poucos adquirindo pontos de experiência (XP) ao derrotar inimigos. Ao coletar pontos o suficiente, sobe de nível e pode escolher uma melhoria.

Os códigos abaixo servem para criarmos um sistema de drop de cristais de XP que podem ser coletados pelo jogador ao se aproximar.


Primeiro, crie um Objeto chamado xp0 e adicione nele um sprite simples por agora. Esse é nosso drop de XP.

Pasted image 20260925111555.png

Adicione nele, agora, os eventos Criar, Etapa -> Etapa e um de Colisão com o jogador

No Criar do xp0:

xp = 1;
raio = 50;

ativo = false

Etapa do xp0:

var dist = point_distance(x,y,player.x,player.y)

if dist < raio {
	ativo = true;
}

if ativo {
	move_towards_point(player.x,player.y,2)
}

Colisão do xp0 com o player:

instance_destroy()
other.xpAtual += xp

No player, adicionar no Criar:

xpAtual = 0

No inimigo0, adicionar no evento Destruir:

spawnController.inimigosAtuais --;

instance_create_layer(x,y,"Instances",xp0)